Audio processing has become an important function in the field of personal computers. Computers contain dedicated audio processing devices, typically referred to as audio codecs, which connect to external audio transducers and devices. One of the primary functions of the audio codec is to convert both input and output audio signals to and from the internal digital formats of the computer and the, typically, analog format of the external devices.
One method of connecting external audio devices to the computer is to use a 3.5 mm or similar stereo audio jack. Each computer contains several jacks, which have typically been dedicated to a single function each, such as stereo line out for speakers, microphone input, and line input. With the increase in multimedia formats available today there is a need for increasing the number of input and output audio devices that the computer can support without increasing the current number of jacks on the computer which would increase the cost of the system. Also the probability of the computer user incorrectly connecting external devices to the wrong jacks increases dramatically leading to costly support calls.
Identification of external devices and moreover internal reconfiguration to accommodate input from or output to external devices is even more critical with respect to smaller, portable devices such as cell phones and PDAs where often only one connection or jack can be provided to receive a plug. The problem is further compounded because video as well as audio inputs/outputs are proliferating. Classical jack sensing has been available which detects plug in and out events at the jack. And, the detection of those events have been used to automatically perform other actions, e.g. the entry of an earphone plug into a jack automatically mutes the speakers, the recognition of a digital or analog speaker converts the output to the speakers to the proper choice of analog or digital signal. U.S. Pat. No. 6,185,627 is incorporated herein by this reference.